package com.chenyanqing.model.two.annotation;

import com.chenyanqing.model.two.factory.ProxyFactory;
import com.chenyanqing.model.two.factory.TimeLogAnnotationProxyFactory;
import com.chenyanqing.model.two.factory.TransactionAnnotationProxyFactory;

public enum AnnotationTypeConfig {

    TRANSACTION("jdbc事务控制注解",Transactional.class,TransactionAnnotationProxyFactory.getInstance()),
    TIMELOG("方法执行时间注解",TimeLog.class, TimeLogAnnotationProxyFactory.getInstance());


    private String desc;
    private Class annotationClass;

    private ProxyFactory proxyFactory;


    public String getDesc() {
        return desc;
    }

    public Class getAnnotationClass() {
        return annotationClass;
    }

    public ProxyFactory getProxyFactory() {
        return proxyFactory;
    }

    AnnotationTypeConfig(String desc, Class annotationClass, ProxyFactory proxyFactory){
        this.desc = desc;
        this.annotationClass = annotationClass;
        this.proxyFactory= proxyFactory;
    }

}
